Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2018, 22:38
Аспирант
Отправить личное сообщение для Exhaust_ Посмотреть профиль Найти все сообщения от Exhaust_
 
Регистрация: 16.09.2014
Сообщений: 52

Как отправлять данные Local Storage через форму?
1. В Local Storage сайта есть строка

Key:
simpleCart_items

Value:
{"SCI-3":{"quantity":1,"id":"SCI-3","price":4000,"name":"Личное: Проба","thumb":"/photo.jpg","size":"80×80","link":"/proba.html"}}

2. Есть форма:

<form action="checkout.php" method='post' id='form' role="form">
					<div class="form-group">
						<label for="fio">
							ФИО
						</label>
						<input name="fio" type="text" class="form-control" id="fio" />
					</div>
					<div class="form-group">
						<label for="tel">
							Email
						</label>
						<input name="email" type="text" class="form-control" id="email" />
					</div>
					<div class="form-group">
						<label for="adres">
							Доставка
						</label>
						<textarea name="adres" class="form-control" rows="3" id="adres"></textarea>
					</div>
					<input type="submit" value="Заказать" name="submit" onClick="emailCheckout(this.form)" class="btn btn-lg btn-success">
				</form>


3. Есть файл checkout.php. Он получает должен получать данные из формы и отправлять их на email.

<?php
$to = '123@gmail.com'; //куда слать письмо

if ( $_SERVER['REQUEST_METHOD']=='POST' )
	complete_mail($to);

function complete_mail($to) {
	$fio =  substr(htmlspecialchars(trim($_POST['fio'])), 0, 150);
	$tel =  substr(htmlspecialchars(trim($_POST['tel'])), 0, 50);
	$adres =  substr(htmlspecialchars(trim($_POST['adres'])), 0, 1000);


	unset( $_POST['fio'] );
	unset( $_POST['tel'] );
	unset( $_POST['adres'] );
	unset( $_POST['submit'] );

		
 	if(!preg_match("/.*/", $tel)) 
		{ output_err(0); }
	else if(empty($fio))
		{ output_err(1); }
	else if(empty($_POST['name_1']))
		{ output_err(3); }
	else if(empty($adres))
		{ output_err(2); }
	
	else {
		$content .= "ФИО: ".$fio."\nТелефон: ".$tel."\nАдрес: ".$adres."\n\n";

		$c=0;
		foreach ( $_POST as $k => $v ){
			if ( $c == 5 ) {
				$content .= "\n";
				$c = 0;
			} else {
				++$c;
			}
			$content .= $v."\n";
		}
		

		$subject = 'Корзина ' . $_SERVER['SERVER_NAME'];

		mail($to, $subject, $content);
		
		echo "Заявка отправлена.";
	}
}

function output_err($num) {
	$err[0] = 'ОШИБКА! Неверно введен телефон.'; 
	$err[1] = 'ОШИБКА! Не введено имья.'; 
	$err[2] = 'ОШИБКА! Не введен адрес.'; 
	$err[3] = 'ОШИБКА! Вы ничего не заказали.'; 

	echo '<p>'.$err[$num].'</p>';
}

?>


Вопрос:
Как сделать так чтобы указанные данные из Local Storage передавалиь вместе с формой на checkout.php и он их принимал и отправлял на email?
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2018, 23:22
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,596

document.getElementById('form').onsubmit = function(){
  var input = document.createElement('input');
  input.type = 'hidden';
  input.name = 'simpleCart_items';
  input.value = localStorage.simpleCart_items;
  this.appendChild(input);
}
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 04.03.2018, 03:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Exhaust_,
почитайте о почтовых отправлениях. И зачем в почте отправляемой как текст htmlspecialchars?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отобразить данные в iframe через атрибут src в Internet Explorer? Heisenberg (X)HTML/CSS 1 27.10.2015 22:40
Как хранить данные пользователя/socket в NodeJS gamefarm Node.JS 0 22.09.2015 13:42
initComponent: Как получить данные родителя и как получить store для вызова load()? Пролетарий ExtJS 76 04.07.2015 09:22
Как выести данные через JSON mrKot Элементы интерфейса 22 19.02.2014 18:59
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29